so_scref <- readRDS("/Users/christinacomo/OneDrive - The University of Colorado Denver/Spatial/RDS_files/E14_refdata_processed.rds") # the scRNA-seq reference object
Warning: cannot open compressed file '/Users/christinacomo/OneDrive - The University of Colorado Denver/Spatial/RDS_files/E14_refdata_processed.rds', probable reason 'No such file or directory'Error in gzfile(file, "rb") : cannot open the connection


so <- RunNNLS(object = so,
singlecell_object = so_scref,
groups = "cell_type")
── Predicting cell type proportions ──
ℹ Fetching data from Seurat objects
→ Filtering out features that are only present in one data set
→ Kept 1087 features for deconvolution
ℹ Preparing data for NNLS
→ Downsampling scRNA-seq data to include a maximum of 50 cells per cell type
→ Kept 7 cell types after filtering
→ Calculating cell type expression profiles
ℹ Predicting cell type proportions with NNLS for 7 cell types
ℹ Returning results in a new 'Assay' named 'celltypeprops'
Warning: Layer counts isn't present in the assay object; returning NULLℹ Setting default assay to 'celltypeprops'
✔ Finished
sprintf("RunNNLS completed in %s seconds", round(Sys.time() - ti, digits = 2))
[1] "RunNNLS completed in 2.79 seconds"
# Check available cell types
rownames(so)
[1] "APs" "Cycling" "IPs"
[4] "Immature Neurons" "Interneurons" "Mature Neurons"
[7] "Migratory Neurons"
so <- LoadImages(so, image_height = 1e3)
── Loading H&E images ──
ℹ Loading image from ./tissue_lowres_image.png
Error in `FUN()`:
! Invalid path/url ./tissue_lowres_image.png. Make sure to have valid image paths before running LoadImages
Run `]8;;x-r-run:rlang::last_trace()rlang::last_trace()]8;;` to see where the error occurred.
plots
$`Migratory Neurons`
$`Immature Neurons`
$Interneurons
$`Mature Neurons`
$Cycling
$IPs
$APs







colors <- c("#E69F00", # Orange
"#56B4E9", # Sky Blue
"#009E73", # Green
"#F0E442", # Yellow
"#0072B2", # Blue
"#D55E00", # Red-Orange
"#CC79A7", # Pink
"#999999", # Gray
, # Dark Red-Purple
"#44AA99") # Teal

ggsave(mf, filename = "/Users/christinacomo/OneDrive - The University of Colorado Denver/10xVisium/Spatial/outputs/semladeconvolution.jpeg")
Saving 7 x 7 in image

so@assays[["celltypeprops"]]@data
7 x 859 sparse Matrix of class "dgCMatrix"
[[ suppressing 51 column names ‘AAAGTGTGATTTATCT-1’, ‘AAAGTTGACTCCCGTA-1’, ‘AAATAGGGTGCTATTG-1’ ... ]]
APs 0.28956819 0.30050969 0.18462153 0.19669316 0.32763729 0.24888291 0.2865100 0.22476515
Cycling . . . 0.01603795 . 0.06364236 . 0.04118169
IPs 0.13307927 0.27748731 0.11090523 0.12281820 0.21934969 0.21912273 0.2277095 0.05962642
Immature Neurons 0.33378912 0.07240214 0.11975890 0.33393929 0.20366097 0.25801602 0.1142656 0.44552981
Interneurons 0.17172031 0.18286346 0.32434829 0.15876750 0.13805188 0.14865021 0.1542855 0.18746058
Mature Neurons 0.04780179 0.13516932 0.19267264 0.07017766 0.09415324 . 0.2172295 .
Migratory Neurons 0.02404133 0.03156807 0.06769342 0.10156625 0.01714693 0.06168577 . 0.04143636
APs 0.2346184 0.2155278 0.3392265 0.26373200 0.30955441 0.19712591 0.1012354 0.26613548 0.2579949
Cycling . . . . 0.16370090 . . . .
IPs 0.1361908 0.2281470 0.1519870 0.13059694 0.03554629 0.17285540 0.2660373 0.17640656 0.2985609
Immature Neurons 0.2571241 0.1633739 0.1778120 . 0.08479546 0.22109511 0.1602081 0.21745750 0.1199212
Interneurons 0.1169225 0.2510419 0.1853475 0.22275664 0.24748938 0.17415217 0.1646482 0.17403901 0.1317599
Mature Neurons 0.1205109 0.1419093 0.1456269 0.30506839 0.11025159 0.15762414 0.1668349 0.01803932 0.1917632
Migratory Neurons 0.1346333 . . 0.07784603 0.04866197 0.07714726 0.1410362 0.14792213 .
APs 0.13825366 0.30722188 0.20932323 0.2731777 0.34208361 0.31337348 0.2152904 0.28669539
Cycling 0.08352985 0.13301337 . . . . . .
IPs 0.16019058 0.04500362 0.15676626 0.2540744 0.17497799 0.16155364 0.2949041 0.14844867
Immature Neurons 0.18959050 0.16422098 0.04173143 0.2456474 0.11046707 0.24129637 0.1369418 0.09472709
Interneurons 0.27136629 0.26820418 0.32744050 0.2271004 0.24621011 0.19253836 0.2061686 0.30680116
Mature Neurons . 0.08233597 0.18853136 . 0.09514347 . . 0.16332770
Migratory Neurons 0.15706911 . 0.07620722 . 0.03111775 0.09123814 0.1466952 .
APs 0.34220622 0.2132003 0.21650401 0.28240374 0.29748489 0.23822246 0.1618163 0.1774455 0.2392172
Cycling . . . . . 0.06243672 . . .
IPs . 0.1544622 0.10160014 0.26718608 0.23130642 0.30309031 0.1557295 0.2013002 0.1247748
Immature Neurons 0.07942405 0.2346798 0.43467783 0.14268419 0.06356149 0.16809867 0.2782094 0.3529778 0.2545530
Interneurons 0.13317493 0.3141984 0.14616848 0.23763105 0.26239994 0.16532253 0.1715859 0.1657667 0.0542782
Mature Neurons 0.44519481 0.0834593 0.04498010 0.05820952 0.14524727 0.06282931 0.1526625 . .
Migratory Neurons . . 0.05606945 0.01188542 . . 0.0799963 0.1025099 0.3271768
APs 0.40787872 0.22707445 0.04285658 0.2941730 0.31995706 0.27969796 0.33865362 0.2289161 0.2348267
Cycling 0.02904396 0.01937684 . . . . . . .
IPs 0.12680982 0.14684675 0.13591689 0.2599717 0.21254387 0.11796349 0.11044882 0.1307557 0.2388697
Immature Neurons 0.19246923 0.32075330 0.26854416 0.0638966 0.29283318 0.06018119 0.28143707 0.3743698 0.1760316
Interneurons 0.19240730 0.20889168 0.10392042 0.2469692 0.13826150 0.29630285 0.10883622 0.1491667 0.2025435
Mature Neurons . . 0.39285175 0.1349895 . 0.15591409 0.11172391 0.1167918 0.1477285
Migratory Neurons 0.05139097 0.07705699 0.05591020 . 0.03640439 0.08994043 0.04890035 . .
APs 0.39006305 0.2290873 0.42974315 0.23054169 0.23374997 0.38130857 0.27280379 0.13935392 ......
Cycling 0.08279087 . . 0.01448443 . . 0.03719565 . ......
IPs 0.07424483 0.1120857 0.15998434 0.32374584 0.04533273 0.08128525 0.18079486 0.31092298 ......
Immature Neurons 0.12127050 0.1158636 0.04535378 0.36208943 0.15709427 0.13006566 0.26582928 0.16998162 ......
Interneurons 0.23884058 0.1667970 0.19447481 0.05660522 0.16958096 0.18616604 0.11356212 0.19171394 ......
Mature Neurons . 0.2419281 0.07269247 . 0.33116784 0.13535623 0.06769272 0.07766611 ......
Migratory Neurons 0.09279017 0.1342385 0.09775145 0.01253338 0.06307423 0.08581826 0.06212158 0.11036144 ......
.....suppressing 808 columns in show(); maybe adjust options(max.print=, width=)
..............................




LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKCmBgYHtyfQppbnN0YWxsLnBhY2thZ2VzKCJpZ3JhcGgiKQpkZXZ0b29sczo6aW5zdGFsbF9naXRodWIoIlp4WmhvdTQxNTAvUmVkZWNvbnZlIiwgYnVpbGRfdmlnbmV0dGVzID0gRikKbGlicmFyeShpZ3JhcGgpCmxpYnJhcnkoUmVkZWNvbnZlKQpsaWJyYXJ5KFNldXJhdCkKYGBgCgpgYGB7cn0Kc28gPC0gcmVhZFJEUygiL1VzZXJzL2NocmlzdGluYWNvbW8vT25lRHJpdmUgLSBUaGUgVW5pdmVyc2l0eSBvZiBDb2xvcmFkbyBEZW52ZXIvMTB4VmlzaXVtL1NwYXRpYWwvUkRTZmlsZXMvbWVyZ2Uuc3Vic2V0LnJlbmFtZWQucmRzIikgIyB0aGUgU1Qgb2JqZWN0CnNvX3NjcmVmIDwtIHJlYWRSRFMoIi9Vc2Vycy9jaHJpc3RpbmFjb21vL09uZURyaXZlIC0gVGhlIFVuaXZlcnNpdHkgb2YgQ29sb3JhZG8gRGVudmVyLzEweFZpc2l1bS9TcGF0aWFsL1JEU2ZpbGVzL0UxNF9yZWZfc2NSTkFzZXFfcHJvY2Vzc2VkLnJkcyIpCmBgYAoKCmBgYHtyfQpEaW1QbG90KHNvKQpgYGAKYGBge3J9CkRpbVBsb3Qoc29fc2NyZWYsIGdyb3VwLmJ5ID0gImNlbGxfdHlwZSIpCmBgYAoKYGBge3J9CmxpYnJhcnkoc2VtbGEpCkRlZmF1bHRBc3NheShzbykgPC0gIlNwYXRpYWwiCnNvIDwtIEpvaW5MYXllcnMoc28pCnRpIDwtIFN5cy50aW1lKCkKc28gPC0gUnVuTk5MUyhvYmplY3QgPSBzbywgCiAgICAgICAgICAgICAgc2luZ2xlY2VsbF9vYmplY3QgPSBzb19zY3JlZiwKICAgICAgICAgICAgICBncm91cHMgPSAiY2VsbF90eXBlIikKYGBgCmBgYHtyfQpzcHJpbnRmKCJSdW5OTkxTIGNvbXBsZXRlZCBpbiAlcyBzZWNvbmRzIiwgcm91bmQoU3lzLnRpbWUoKSAtIHRpLCBkaWdpdHMgPSAyKSkKYGBgCgpgYGB7cn0KIyBDaGVjayBhdmFpbGFibGUgY2VsbCB0eXBlcwpyb3duYW1lcyhzbykKYGBgCgpgYGB7cn0KIyBQbG90IHNlbGVjdGVkIGNlbGwgdHlwZXMKRGVmYXVsdEFzc2F5KHNvKSA8LSAiY2VsbHR5cGVwcm9wcyIKCnNlbGVjdGVkX2NlbGx0eXBlcyA8LSBjKCJNaWdyYXRvcnkgTmV1cm9ucyIsICJJbW1hdHVyZSBOZXVyb25zIiwgIkludGVybmV1cm9ucyIsICJNYXR1cmUgTmV1cm9ucyIsIkN5Y2xpbmciLCAiSVBzIiwgIkFQcyIpCmBgYAoKYGBge3J9CnNvIDwtIExvYWRJbWFnZXMoc28sIGltYWdlX2hlaWdodCA9IDFlMykKYGBgCmBgYHtyfQpsaWJyYXJ5KHRpYmJsZSkKbGlicmFyeShkcGx5cikKbGlicmFyeShwYXRjaHdvcmspCnBsb3RzIDwtIGxhcHBseShzZXFfYWxvbmcoc2VsZWN0ZWRfY2VsbHR5cGVzKSwgZnVuY3Rpb24oaSkgewogIE1hcEZlYXR1cmVzKHNvLCBwdF9zaXplID0gMS4zLAogICAgICAgICAgICBmZWF0dXJlcyA9IHNlbGVjdGVkX2NlbGx0eXBlc1tpXSwgaW1hZ2VfdXNlID0gInJhdyIsCiAgICAgICAgICAgIGFycmFuZ2VfZmVhdHVyZXMgPSAicm93Iiwgc2NhbGUgPSAic2hhcmVkIiwgCiAgICAgICAgICAgIG92ZXJyaWRlX3Bsb3RfZGltcyA9IFRSVUUsCiAgICAgICAgICAgIGNvbG9ycyA9IFJDb2xvckJyZXdlcjo6YnJld2VyLnBhbChuID0gOSwgbmFtZSA9ICJTcGVjdHJhbCIpIHw+IHJldigpLCAKICAgICAgICAgICAgc2NhbGVfYWxwaGEgPSBUUlVFKSAgKwogIHBsb3RfbGF5b3V0KGd1aWRlcyA9ICJjb2xsZWN0IikgJiAKICB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAicmlnaHQiLCBsZWdlbmQubWFyZ2luID0gbWFyZ2luKGIgPSA1MCksCiAgICAgICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQoYW5nbGUgPSAwKSwKICAgICAgICBwbG90LnRpdGxlID0gZWxlbWVudF9ibGFuaygpKQp9KSB8PiBzZXROYW1lcyhubSA9IHNlbGVjdGVkX2NlbGx0eXBlcykKcGxvdHMKYGBgCgpgYGB7cn0KY29sb3JzIDwtIGMoIiNFNjlGMDAiLCAjIE9yYW5nZQogICAgICAgICAgICAiIzU2QjRFOSIsICMgU2t5IEJsdWUKICAgICAgICAgICAgIiMwMDlFNzMiLCAjIEdyZWVuCiAgICAgICAgICAgICIjRjBFNDQyIiwgIyBZZWxsb3cKICAgICAgICAgICAgIiMwMDcyQjIiLCAjIEJsdWUKICAgICAgICAgICAgIiNENTVFMDAiLCAjIFJlZC1PcmFuZ2UKICAgICAgICAgICAgIiNDQzc5QTciLCAjIFBpbmsKICAgICAgICAgICAgIiM5OTk5OTkiLCAjIEdyYXkKICAgICAgICAgICAgLCAjIERhcmsgUmVkLVB1cnBsZQogICAgICAgICAgICAiIzQ0QUE5OSIpICMgVGVhbApgYGAKCmBgYHtyfQpoZWxwKCJNYXBNdWx0aXBsZUZlYXR1cmVzIikKIyBQbG90IG11bHRpcGxlIGZlYXR1cmVzCm1mIDwtIE1hcE11bHRpcGxlRmVhdHVyZXMoc28sIAogICAgICAgICAgICAgICAgICAgIGltYWdlX3VzZSA9ICJyYXciLCAKICAgICAgICAgICAgICAgICAgICBzY2FsZSA9ICJmcmVlIiwKICAgICAgICAgICAgICAgICAgICBwdF9zaXplID0gMiwgbWF4X2N1dG9mZiA9IDAuOTksCiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVfcGxvdF9kaW1zID0gVFJVRSwgCiAgICAgICAgICAgICAgICAgICAgY29sb3JzID0gYygiI0U2OUYwMCIsICIjRDU1RTAwIiwgIiMwMDcyQjIiLCAiI0NDNzlBNyIsIiNGMEU0NDIiLCAiIzAwOUU3MyIsIiM4ODIyNTUiKSwKICAgICAgICAgICAgICAgICAgICBmZWF0dXJlcyA9IHNlbGVjdGVkX2NlbGx0eXBlc1sxOjddKSArCiAgcGxvdF9sYXlvdXQoZ3VpZGVzID0gImNvbGxlY3QiKQptZgpgYGAKYGBge3J9CmhlbHAoZ2dzYXZlKQpnZ3NhdmUobWYsIGZpbGVuYW1lID0gIi9Vc2Vycy9jaHJpc3RpbmFjb21vL09uZURyaXZlIC0gVGhlIFVuaXZlcnNpdHkgb2YgQ29sb3JhZG8gRGVudmVyLzEweFZpc2l1bS9TcGF0aWFsL291dHB1dHMvc2VtbGFkZWNvbnZvbHV0aW9uLmpwZWciKQpgYGAKCmBgYHtyfQpubWZfZGF0YSA8LSBGZXRjaERhdGEoc28sIHNlbGVjdGVkX2NlbGx0eXBlcykgfD4gCiAgUmNwcE1MOjpubWYoayA9IDEwLCB2ZXJib3NlID0gRikKCm5tZl9kYXRhX2ggPC0gbm1mX2RhdGEkaCB8PiBhcy5kYXRhLmZyYW1lKCkKcm93bmFtZXMobm1mX2RhdGFfaCkgPC0gcGFzdGUwKCJGYWN0b3JfIiwgMToxMCkKY29sbmFtZXMobm1mX2RhdGFfaCkgPC0gc2VsZWN0ZWRfY2VsbHR5cGVzCgpubWZfZGF0YV9oIDwtIG5tZl9kYXRhX2ggfD4gCiAgbXV0YXRlX2F0KGNvbG5hbWVzKG5tZl9kYXRhX2gpLCAKICAgICAgICAgICAgfihzY2FsZSguLCBjZW50ZXIgPSBGQUxTRSwgc2NhbGUgPSBtYXgoLiwgbmEucm0gPSBUUlVFKS8xKSkpCgpubWZfZGF0YV9oJEZhY3RvciA8LSByb3duYW1lcyhubWZfZGF0YV9oKSB8PiAKICBmYWN0b3IobGV2ZWxzID0gcGFzdGUwKCJGYWN0b3JfIiwgMToxMCkpCm5tZl9kYXRhX2hfZGYgPC0gbm1mX2RhdGFfaCB8PiAKICB0aWR5cjo6cGl2b3RfbG9uZ2VyKGNvbHMgPSBhbGxfb2Yoc2VsZWN0ZWRfY2VsbHR5cGVzKSwgCiAgICAgICAgICAgICAgICAgICAgICBuYW1lc190byA9ICJDZWxsIiwgCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXNfdG8gPSAiV2VpZ2h0IikKCmdncGxvdChubWZfZGF0YV9oX2RmLCBhZXMoeD1GYWN0b3IsIHk9Q2VsbCwgc2l6ZT1XZWlnaHQsIGNvbG9yPVdlaWdodCkpICsKICBnZW9tX3BvaW50KCkgKwogIGxhYnModGl0bGU9IkNlbGwgdHlwZSBjb250cmlidXRpb24iLCB4PSJGYWN0b3IiLCB5ID0gIkNlbGwgdHlwZSIsIAogICAgICAgY29sb3IgPSAiIiwgc2l6ZSA9ICJTY2FsZWQgd2VpZ2h0IikgKwogIHNjYWxlX2NvbG9yX3ZpcmlkaXNfYyhkaXJlY3Rpb24gPSAtMSwgb3B0aW9uID0gIm1hZ21hIikgKwogIHRoZW1lX2J3KCkgKwogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlPTQ1LCBoanVzdD0xKSwgCiAgICAgICAgcGFuZWwuZ3JpZCA9IGVsZW1lbnRfYmxhbmsoKSkKYGBgCmBgYHtyfQpkYXRhPC0gKHNvQGFzc2F5c1tbImNlbGx0eXBlcHJvcHMiXV1AZGF0YSkKd3JpdGUuY3N2KGRhdGEsICIvVXNlcnMvY2hyaXN0aW5hY29tby9PbmVEcml2ZSAtIFRoZSBVbml2ZXJzaXR5IG9mIENvbG9yYWRvIERlbnZlci8xMHhWaXNpdW0vU3BhdGlhbC9vdXRwdXRzL2RlY29udm9sdXRpb25zZW1sYS5jc3YiKQpgYGAKCmBgYHtyfQp2YWx1ZXMgPC0gcmVhZC5jc3YoIi9Vc2Vycy9jaHJpc3RpbmFjb21vL09uZURyaXZlIC0gVGhlIFVuaXZlcnNpdHkgb2YgQ29sb3JhZG8gRGVudmVyLzEweFZpc2l1bS9TcGF0aWFsL291dHB1dHMvZGVjb252b2x1dGlvbnZhbHVlcy5jc3YiKQp0YWlsKHZhbHVlcykKYGBgCgoKYGBge3J9CmhlbHAocGllKQpjMXBpZSA8LSBwaWUodmFsdWVzJENvbnRyb2wxLAogICAgbGFiZWxzID0gYygiQVBzIiwgIkN5Y2xpbmciLCAiSVBzIiwgIkltbWF0dXJlIE5ldXJvbnMiLCAiSW50ZXJuZXVyb25zIiwgIk1hdHVyZSBOZXVyb25zIiwgIk1pZ3JhdG9yeSBOZXVyb25zIiksCiAgICBjb2wgPSBjKCIjODgyMjU1IiwiI0YwRTQ0MiIsICIjMDA5RTczIiwgIiNENTVFMDAiLCIjMDA3MkIyIiwiI0NDNzlBNyIsIiNFNjlGMDAiKSkKZ2dzYXZlKGMxcGllLCBmaWxlbmFtZSA9ICIvVXNlcnMvY2hyaXN0aW5hY29tby9PbmVEcml2ZSAtIFRoZSBVbml2ZXJzaXR5IG9mIENvbG9yYWRvIERlbnZlci8xMHhWaXNpdW0vU3BhdGlhbC9vdXRwdXRzL2MxcGllLmpwZWciKQpgYGAKCmBgYHtyfQpoZWxwKHBpZSkKYzJwaWUgPC0gcGllKHZhbHVlcyRDb250cm9sMiwKICAgIGxhYmVscyA9IGMoIkFQcyIsICJDeWNsaW5nIiwgIklQcyIsICJJbW1hdHVyZSBOZXVyb25zIiwgIkludGVybmV1cm9ucyIsICJNYXR1cmUgTmV1cm9ucyIsICJNaWdyYXRvcnkgTmV1cm9ucyIpLAogICAgY29sID0gYygiIzg4MjI1NSIsIiNGMEU0NDIiLCAiIzAwOUU3MyIsICIjRDU1RTAwIiwiIzAwNzJCMiIsIiNDQzc5QTciLCIjRTY5RjAwIikpCmMycGllCmdnc2F2ZShjMnBpZSwgZmlsZW5hbWUgPSAiL1VzZXJzL2NocmlzdGluYWNvbW8vT25lRHJpdmUgLSBUaGUgVW5pdmVyc2l0eSBvZiBDb2xvcmFkbyBEZW52ZXIvMTB4VmlzaXVtL1NwYXRpYWwvb3V0cHV0cy9jMnBpZS5qcGVnIikKYGBgCgpgYGB7cn0KaGVscChwaWUpCm11dDFwaWUgPC0gcGllKHZhbHVlcyRNdXRhbnQxLAogICAgbGFiZWxzID0gYygiQVBzIiwgIkN5Y2xpbmciLCAiSVBzIiwgIkltbWF0dXJlIE5ldXJvbnMiLCAiSW50ZXJuZXVyb25zIiwgIk1hdHVyZSBOZXVyb25zIiwgIk1pZ3JhdG9yeSBOZXVyb25zIiksCiAgICBjb2wgPSBjKCIjODgyMjU1IiwiI0YwRTQ0MiIsICIjMDA5RTczIiwgIiNENTVFMDAiLCIjMDA3MkIyIiwiI0NDNzlBNyIsIiNFNjlGMDAiKSkKZ2dzYXZlKG11dDFwaWUsIGZpbGVuYW1lID0gIi9Vc2Vycy9jaHJpc3RpbmFjb21vL09uZURyaXZlIC0gVGhlIFVuaXZlcnNpdHkgb2YgQ29sb3JhZG8gRGVudmVyLzEweFZpc2l1bS9TcGF0aWFsL291dHB1dHMvY20xcGllLmpwZWciKQpgYGAKYGBge3J9CmhlbHAocGllKQptdXQycGllIDwtIHBpZSh2YWx1ZXMkTXV0YW50MiwKICAgIGxhYmVscyA9IGMoIkFQcyIsICJDeWNsaW5nIiwgIklQcyIsICJJbW1hdHVyZSBOZXVyb25zIiwgIkludGVybmV1cm9ucyIsICJNYXR1cmUgTmV1cm9ucyIsICJNaWdyYXRvcnkgTmV1cm9ucyIpLAogICAgY29sID0gYygiIzg4MjI1NSIsIiNGMEU0NDIiLCAiIzAwOUU3MyIsICIjRDU1RTAwIiwiIzAwNzJCMiIsIiNDQzc5QTciLCIjRTY5RjAwIikpCmdnc2F2ZShtdXQycGllLCBmaWxlbmFtZSA9ICIvVXNlcnMvY2hyaXN0aW5hY29tby9PbmVEcml2ZSAtIFRoZSBVbml2ZXJzaXR5IG9mIENvbG9yYWRvIERlbnZlci8xMHhWaXNpdW0vU3BhdGlhbC9vdXRwdXRzL20ycGllLmpwZWciKQpgYGAKCg==